1. The Field of the Invention
The present invention relates to communication devices for transmitting data between computers or the like and more particularly to methods and apparatus for adapting a communication device to the standards of a variety of networks.
2. Background of the Invention
In order to transfer data from one computer system to another computer system or other device, a communication interface device such as a modem is often used. A communication device is a device which converts digital data from the computer to an appropriate signaling format in order to be transmitted over a particular network such as a telephone network. A communication device is conventionally configured in the form of a single electronic card which may be placed internal to a computer or in the form of a box which can be connected external to a computer.
Because a communication device takes data from the computer and places it on to a network, a communication device is typically a dual port device, with one port being connected to the host computer and the other port being connected to the network over which data is to be transferred. Connections to the host computer are made in a variety of ways. For example, a communication device configured to reside external to a computer may communicate to the host computer over an RS232 serial port. As another example, a communication device in the form of a PCMCIA card is carried internal to the computer and interfaces with the host computer over the PCMCIA interface.
With the advent of small portable and transportable computers, and the wide spread availability of small form factor communication devices, such as communication devices on PCMCIA cards, mobile computing is becoming wide spread. In today's environment, it is not uncommon for an individual to have a powerful portable laptop computer that is taken wherever the individual travels. An individual traveling into several countries, or an individual connecting their computer to several different types of networks faces special challenges. Typically, each individual country or each individual network requires a different communication device and/or a different connection.
With the widespread availability of powerful portable computers and easy travel routes, it is not uncommon for an individual to utilize their computers at a wide variety of different locations. Thus, an individual may begin the day in an office where the computer is to be connected to a local area network (LAN) or wide area network (WAN) and end the day in a completely different city where data is to be transferred over a telephone network to another computer. Alternatively, an individual may begin the day transferring data over the telephone network in one country and end the day transferring data over a telephone network of another country.
In order to avoid having to carry several different communication devices such as modems configured to access the telephone networks of several different countries, there has been an attempt to divide the modem into a part which can be used with any telephone network and a part which specifically adapts the modem to a particular country's telephone network. In one such attempt, the basic modem circuitry resides on a board which is carried internal to the computer. The modem has a single connector to which a variety of adapters could be attached. When a new country is entered which has a different telephone network standard, the proper adaptor can be attached to the modem and the modem would be reconfigured to work with that specific adaptor. This eliminates the necessity of carrying multiple modems but also creates the problem of properly configuring the modem to work with a particular adaptor.
In order to make configuration easier, one approach has been to place hardware inside the adaptor which contains an ID code. The modem could then poll the adaptor to determine its ID code, look up parameters stored in memory based on the ID code, and reconfigure the internal software of the modem based on the parameters to work with that particular adaptor. While this approach has helped eliminate the need for a user to manually configure the modem to work with various adapters, again it created several problems. For example, a modem which must be configured to work with a plurality of adapters must contain complex software which will reconfigure itself to work with any adapter. Furthermore, the modem must contain the parameters associated with all adapters to be used with the modem. Thus, such a modem is necessarily more expensive due to the increased software complexity and increased hardware needed to store the parameters needed to reconfigure the software.
In an effort to reduce the complexity and size of the software, different modems could be configured with different adapter packages. For example, a user which frequents relatively few different countries could purchase a modem specifically designed to work with that combination of countries. This, however, requires manufactures to produce a wide variety of modems, each tailored to various combinations of countries. It would, therefore, be an advancement in the art to have a modem which was capable of working with a variety of adapters and which reduced the complexity of any attendant software and reduced the hardware needed to store and execute such software.
When a modem contains the parameters associated with all adapters to be used with the modem, updating the parameters becomes problematic. If the parameters associated with a particular adaptor are modified, the stored parameters on each individual modem must be updated. If the parameters are on a ROM which is programmed at the time the modem is manufactured, often this entails the replacement of the entire modem. Alternatively, the part of the modem containing the parameters may be replaced. When new adapters are developed and released, a similar problem occurs. A means must be provided to add new information to the modem. Again, this may entail replacement of the entire modem or replacement of a portion of the modem.
The advent of networks over which data may be transferred has significantly increased the usefulness and portability of computers. Unfortunately, a user who desires to connect to a wide variety of networks is also presented with many problems. Each individual type of network often has its own physical communication medium. For example, the telephone network in the United States typically utilizes two single wire conductors. These conductors are typically tied to an RJ11 type plug. Thus, those desiring to access the telephone network must have a modem capable of accepting an RJ11 type plug. Other countries utilize different types of connectors and may also have a different number of conductor wires. Thus, an individual desiring to access the telephone networks of other countries must have modems designed to interface with the standard connectors in the countries. In addition, each country may have different services available and different protocols which must be followed when communicating over the telephone network located in that country.
In addition to land line access to telephone networks, the telephone networks of many countries may also be accessed through a cellular phone system. Because of the wide variety of cellular telephones available, and because each type of cellular telephone often has its own proprietary interface, connecting to a cellular telephone often requires a modem configured specifically to attach to the desired type of cellular telephone. When the different types of cellular telephone networks in different countries are factored in, an individual traveling to multiple countries and communicating data over the cellular network may face a tremendous challenge.
In an effort to provide the capability to work with a plurality of cellular phone types, attempts have been made to develop a common or standardized interface language. This interface language would then be used by the modem to communicate with a device specific adapter. The device specific adapter would then convert the standard interface language into the specific commands needed to communicate with the specific cellular phone type. In one such attempt, the device which interfaced with the cellular phone could determine which cellular phone type was connected to the device. While this allows a user to utilize a single adapter with a wide variety of cellular phone types, the adapter is necessarily complex and expensive.
In order to overcome this limitation, it may be possible to create a different adapter for each cellular phone type. This would allow an individual to simply buy the type of adapter needed to interface with the desired cellular phone type. Unfortunately, such a device is still quite complex since it must convert the standard interface language utilized by the modem to the particular interface language utilized by the cellular phone. It would, therefore, represent an advancement in the art to provide the capability to interface with a wide variety of cellular phone types from a single modem through greatly simplified adapters. It would also represent an advancement in the art to communicate with a wide variety of cellular phone types even though the amount of program storage was relatively low and even though the program complexity was relatively low.
In addition to telephone networks, current computers may also be utilized with a wide variety of other data networks. Examples of such networks include Ethernet (either in a 10bT or 10b2 type network), a PBX type network, an ISDN type network, or other LAN and WAN type networks. Each of the variety of networks to which a computer may be attached, requires different hardware connections and different communication protocols. Currently, a user must have an individual networking card for each different type of network to which his computer will be attached. Thus, a user may need an Ethernet card, a PBX card, and an ISDN card if the computer is to be attached to these various types of networks. Along with increased cost and complexity, such a situation is highly inconvenient since the user must carry a wide variety of networking cards if his computer is to be carried from location to location and connected to these networks. It would therefore, represent an advancement in the art to have a single communication device which could be used to connect to different types of networks.
In addition to connecting through networks and communicating data, computers may also be utilized to communicate sound or voice over such networks. Currently, a separate voice or sound capable modem must be utilized to connect the computer to a network, such as a telephone network, over which sound or voice is to be communicated. If the voice interface connection is different than the data connection, then either a separate modem must be provided or a separate adapter must be provided. Again, when multiple functions are integrated into a modem, the software complexity increases and the amount of hardware needed to support the increased software also increases. Thus, multiple function modems are inherently more complex than single function modems. It would thus represent an advancement in the art to provide a multiple function modem which reduces the complexity of the software and reduces the amount of hardware needed to provide such multiple functions.
While the ability to connect to multiple telephone networks has previously been attempted through adapters, care must often be taken when plugging the adapters into the modem. When an adapter is plugged into a modem, the modem must be configured to recognize the adapter. In order to facilitate this configuration, adapters have been provided with IDs which will allow the software in the modem to reconfigure itself according to the specifications needed to work with that particular adapter. This raises the question as to when the reconfiguration routine should be called. In one such attempt to resolve this issue, the configuration routine is invoked by the user after the adapter is changed. This approach places the burden of remembering to call the configuration routine on the user. If the user forgets to call the configuration routine, data loss or, perhaps, serious physical damage to the modem may occur.
In order to prevent this occurrence, the modem can be placed into a polling mode where it periodically reads the ID from the cable attached to the modem and if needed automatically reconfigures the software. This method, however, requires that the modem be looking for a change in the adapter. If the modem is utilized in a portable laptop computer, allowing the modem to remain continuously active wastes precious battery power. In order to conserve battery power in portable applications, modems are often provided with a sleep mode. Thus, when not in use, modems are placed into a low power mode. Such a polling methodology, then, is often unrealistic for portable applications where battery power is limited. It would, therefore, represent an advancement in the art to provide a way of transparently re-configuring an adaptable modem in portable applications.
Because adapters can be attached and removed at will, in order to avoid data loss care must be taken to limit when the adapter is removed. For example, if the user removes the adapter when the modem is in sleep mode, the modem must not assume that the same adapter which was connected prior to sleep is still in place. If a new adapter with different electrical characteristics is inserted while the modem is in sleep mode, and the modem awakes assuming the prior adapter is still attached, a conflict in the electrical connection could occur damaging the modem, the adapter, or the network. It would, therefore, represent an advancement in the art to have a method to determine when an adapter is disconnected from a reconfigurable modem which is designed for portable applications.